import axios from 'axios'

// 创建 axios 实例
const request = axios.create({
  baseURL: '/admin-api',
  timeout: 10000, // 超时时间
  headers: { 'Content-Type': 'application/json' }
})

// ✅ 请求拦截器
request.interceptors.request.use(
  (config) => {
    const token = typeof window !== 'undefined' ? localStorage.getItem('admin-token') : ''
    if (token) config.headers.Authorization = `Bearer ${token}`
    return config
  },
  (error) => Promise.reject(error)
)

// ✅ 响应拦截器
request.interceptors.response.use(
  (response) => {
    const res = response.data
    // 这里假设后端统一返回 { code, data, msg }
    if (res.code !== 0) {
      return Promise.reject(new Error(res.msg || '请求失败'))
    }
    return res // 直接返回 data
  },
  (error) => {
    console.error('❌ 网络错误:', error)
    return Promise.reject(error)
  }
)

export default request
